COBOL (Common Business-Oriented Language) মূলত ব্যবসায়িক অ্যাপ্লিকেশন তৈরি করার জন্য ডিজাইন করা হয়েছিল, এবং এর মধ্যে রিপোর্ট জেনারেশন একটি অত্যন্ত গুরুত্বপূর্ণ ফিচার। COBOL এ রিপোর্ট তৈরি করার জন্য বিভিন্ন টেকনিক এবং স্টেটমেন্ট ব্যবহার করা হয়, যা ডেটা প্রক্রিয়াকরণ এবং ম্যানিপুলেশন করার পরে সেগুলোর আউটপুট হিসেবে রিপোর্ট তৈরি করতে সহায়ক।
COBOL এ সাধারণত REPORT তৈরি করার জন্য WRITE, DISPLAY, এবং PERFORM স্টেটমেন্ট ব্যবহার করা হয়। আপনি যখন ডেটাবেস বা ফাইল থেকে ডেটা নিয়ে কাজ করেন এবং তা একটি সুন্দর রিপোর্ট আকারে আউটপুট করতে চান, তখন এগুলোর সাহায্য নেয়া হয়।
COBOL এ রিপোর্ট জেনারেশন করার জন্য বেশ কিছু প্রধান ধাপ অনুসরণ করা হয়:
WRITE স্টেটমেন্টটি COBOL এ রিপোর্ট তৈরি করার জন্য ব্যবহৃত হয়। এটি রিপোর্টের জন্য একটি নতুন রেকর্ড ফাইল বা আউটপুট ডিভাইসে লেখার কাজ করে।
WRITE record-name
[FROM data-structure]
[AFTER ADVANCING lines].
উদাহরণ:
WRITE REPORT-RECORD FROM CUSTOMER-RECORD AFTER ADVANCING 1 LINE.
এখানে REPORT-RECORD একটি রিপোর্ট রেকর্ড, এবং CUSTOMER-RECORD ডেটা স্ট্রাকচারটি রিপোর্টে ব্যবহৃত হবে। AFTER ADVANCING 1 LINE দ্বারা একটি নতুন লাইন শুরু হবে।
DISPLAY স্টেটমেন্টটি ব্যবহার করে আপনি স্ক্রীনে অথবা একটি টেক্সট ফাইলের মাধ্যমে রিপোর্ট প্রিন্ট করতে পারেন। এটি সাধারণত তত্ক্ষণিক আউটপুটের জন্য ব্যবহৃত হয়।
DISPLAY 'Message or Data'.
উদাহরণ:
DISPLAY 'Customer Report:'.
DISPLAY '------------------'.
DISPLAY 'ID: ' CUSTOMER-ID.
DISPLAY 'Name: ' CUSTOMER-NAME.
DISPLAY 'Age: ' CUSTOMER-AGE.
এখানে, DISPLAY স্টেটমেন্টের মাধ্যমে একটি সাধারণ রিপোর্ট স্ক্রীনে প্রদর্শিত হবে।
PERFORM স্টেটমেন্টটি একটি নির্দিষ্ট কাজ বা সাবরুটিন একাধিকবার পুনরাবৃত্তি করতে ব্যবহৃত হয়। COBOL এ রিপোর্টের মধ্যে পুনরাবৃত্তি প্রক্রিয়া যেমন সারি বা কলাম যোগ করার জন্য PERFORM স্টেটমেন্ট ব্যবহার করা হয়।
PERFORM report-process UNTIL condition.
উদাহরণ:
PERFORM GENERATE-REPORT UNTIL END-OF-FILE.
এখানে GENERATE-REPORT সাবরুটিনটি ব্যবহার করে রিপোর্ট প্রক্রিয়া করা হবে যতক্ষণ না END-OF-FILE শর্ত পূর্ণ হয়।
COBOL এ একটি প্রারম্ভিক পদ্ধতি রয়েছে যাকে RPG-স্টাইলের রিপোর্ট বলা হয়। এটি সাধারণত কলাম এবং ডাটা ফরম্যাটিংয়ের জন্য ব্যবহৃত হয়। এতে LINE COUNTER, PAGE BREAKS, এবং COLUMN ALIGNMENT কাজ করা হয়।
PAGE HEADING.
DISPLAY 'Customer Report'
DISPLAY '------------------'.
DISPLAY 'ID Name Age'.
DISPLAY '--------------------------'.
REPORT DATA.
DISPLAY CUSTOMER-ID CUSTOMER-NAME CUSTOMER-AGE.
ADD 1 TO PAGE-COUNT.
IF PAGE-COUNT > 20
PERFORM PAGE-HEADING
MOVE 0 TO PAGE-COUNT.
END-IF.
এখানে, PAGE-HEADING সাবরুটিনটি প্রতি ২০ রেকর্ড পর পর নতুন পৃষ্ঠা তৈরি করতে ব্যবহৃত হয়েছে। এটি PAGE COUNT দ্বারা ট্র্যাক করা হচ্ছে।
প্রায়ই রিপোর্টে গ্র্যান্ড টোটাল বা সাবটোটাল যোগ করা হয়। COBOL এ এটি করার জন্য আপনি একটি চলক ব্যবহার করে প্রয়োজনীয় অঙ্কন এবং যোগফল সংগ্রহ করতে পারেন।
WORKING-STORAGE SECTION.
01 GRAND-TOTAL PIC 9(5) VALUE 0.
PROCEDURE DIVISION.
ADD CUSTOMER-AMOUNT TO GRAND-TOTAL.
DISPLAY 'Grand Total: ' GRAND-TOTAL.
এখানে, GRAND-TOTAL পরিবর্তনশীলটি সমস্ত প্রক্রিয়াকৃত অঙ্কন যোগ করে এবং DISPLAY দ্বারা মোট ফলাফল আউটপুট হবে।
COBOL প্রোগ্রামে রিপোর্ট ফাইল তৈরি করতে WRITE স্টেটমেন্ট ব্যবহার করা হয়। এখানে, একটি ফাইল তৈরি করা হয় এবং ডেটা সেই ফাইলে লিখে আউটপুট হিসেবে সংরক্ষণ করা হয়।
DATA DIVISION.
FILE SECTION.
FD REPORT-FILE.
01 REPORT-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
WORKING-STORAGE SECTION.
01 EOF-FLAG PIC X VALUE 'N'.
PROCEDURE DIVISION.
OPEN OUTPUT REPORT-FILE.
WRITE REPORT-RECORD FROM CUSTOMER-RECORD AFTER ADVANCING 1 LINE.
CLOSE REPORT-FILE.
এখানে, REPORT-FILE ফাইল তৈরি করা হয়েছে এবং WRITE স্টেটমেন্টের মাধ্যমে রিপোর্টের রেকর্ড সেই ফাইলে লেখা হয়েছে।
COBOL এ রিপোর্ট জেনারেশন একটি অত্যন্ত গুরুত্বপূর্ণ কাজ যা ডেটা প্রক্রিয়াকরণ এবং আউটপুট তৈরি করতে ব্যবহৃত হয়। WRITE, DISPLAY, PERFORM, PAGE BREAKS, এবং TOTALING স্টেটমেন্টগুলি ব্যবহৃত হয় রিপোর্ট তৈরির জন্য। ডেটাবেস বা ফাইল থেকে সংগ্রহ করা তথ্যগুলো ফরম্যাট করে রিপোর্ট আউটপুট হিসাবে তৈরি করা হয়, যা ব্যবসায়িক অ্যাপ্লিকেশনগুলিতে ব্যাপকভাবে ব্যবহৃত হয়। COBOL এর রিপোর্ট জেনারেশন সিস্টেমগুলি বেশ শক্তিশালী এবং কাস্টমাইজড আউটপুট তৈরিতে সক্ষম।
COBOL প্রোগ্রামে ডেটা সংগ্রহ, সন্নিবেশ এবং সজ্জিত করার জন্য SORT এবং MERGE স্টেটমেন্ট দুটি গুরুত্বপূর্ণ ফাংশন। এগুলি ডেটা অর্ডারিং এবং বিভিন্ন ডেটাসেট একত্রিত (merge) করার জন্য ব্যবহৃত হয়। এই স্টেটমেন্টগুলি সাধারণত বৃহৎ ডেটাসেটের সজ্জিতকরণ এবং সন্নিবেশের ক্ষেত্রে ব্যবহার করা হয়।
SORT স্টেটমেন্ট ব্যবহার করে একটি বা একাধিক ফাইলের ডেটা নির্দিষ্ট ক্রমে সাজানো হয়। এটি একটি ফাইলের মধ্যে থাকা রেকর্ডগুলোকে অর্ডার করার জন্য ব্যবহার করা হয়। COBOL প্রোগ্রামে SORT স্টেটমেন্ট ডেটার ওপর ascending বা descending অর্ডার অনুসারে সজ্জিত করতে ব্যবহৃত হয়।
SORT file-name
ON ASCENDING KEY key-name
USING input-file
GIVING output-file.
SORT CUSTOMER-FILE
ON ASCENDING KEY CUSTOMER-ID
USING CUSTOMER-DATA
GIVING SORTED-CUSTOMER-DATA.
এখানে, CUSTOMER-DATA ইনপুট ফাইলটি CUSTOMER-ID এর ভিত্তিতে ascending অর্ডারে সাজানো হবে এবং সাজানো ডেটা SORTED-CUSTOMER-DATA ফাইলে সন্নিবেশ করা হবে।
MERGE স্টেটমেন্ট দুটি বা তার বেশি সাজানো ফাইলকে একত্রিত (merge) করার জন্য ব্যবহৃত হয়। এটি একটি সজ্জিত ফাইল থেকে অন্য একটি সজ্জিত ফাইলে ডেটা মিশ্রিত করার জন্য ব্যবহৃত হয়। সাধারণত, যখন দুটি ফাইল ASCENDING বা DESCENDING অর্ডারে সাজানো থাকে এবং আপনি সেই ফাইল দুটি একত্রিত করতে চান, তখন MERGE স্টেটমেন্ট ব্যবহার করা হয়।
MERGE file1 file2
ON ASCENDING KEY key-name
USING file1 file2
GIVING merged-file.
MERGE FILE1 FILE2
ON ASCENDING KEY CUSTOMER-ID
USING FILE1 FILE2
GIVING MERGED-CUSTOMER-DATA.
এখানে, FILE1 এবং FILE2 উভয় ফাইল CUSTOMER-ID এর ভিত্তিতে ascending অর্ডারে সাজানো থাকবে এবং তারপর সেই দুটি ফাইলকে MERGED-CUSTOMER-DATA ফাইলে মিশ্রিত করা হবে।
বৈশিষ্ট্য | SORT | MERGE |
---|---|---|
কার্য | একটি ফাইলের ডেটা সাজানো | দুটি বা তার বেশি সাজানো ফাইল একত্রিত করা |
ব্যবহার | একটি একক ফাইল সাজাতে ব্যবহৃত | দুটি বা একাধিক ফাইল মিশ্রিত করতে ব্যবহৃত |
অর্ডার | ASCENDING বা DESCENDING অনুযায়ী সাজানো | ASCENDING বা DESCENDING অনুযায়ী মিশ্রিত করা |
সিনট্যাক্স | SORT USING input-file GIVING output-file | MERGE USING file1 file2 GIVING merged-file |
COBOL প্রোগ্রামে SORT এবং MERGE স্টেটমেন্ট ব্যবহার করা হয় ডেটার অর্ডারিং এবং একত্রিত করার জন্য। SORT ব্যবহার করে একটি ফাইলের ডেটা ASCENDING বা DESCENDING অর্ডারে সাজানো হয়, এবং MERGE ব্যবহার করে একাধিক সাজানো ফাইল একত্রিত করা হয়। এগুলি বিশেষ করে বড় ডেটাবেস এবং ডেটা প্রসেসিং অ্যাপ্লিকেশনগুলোতে ব্যবহার করা হয় যেখানে ডেটার সন্নিবেশ বা ম্যানিপুলেশন করা দরকার।
COBOL-এ SORT
স্টেটমেন্টটি ডেটা ফাইলের মধ্যে রেকর্ড সাজাতে এবং পরে রিপোর্ট প্রক্রিয়া করতে ব্যবহৃত হয়। SORT CONTROL FILES ফিচারটি আপনাকে ডেটা ফাইলগুলো সাজানোর সময় নিয়ন্ত্রণ দেয় এবং বিভিন্ন ধরনের রিপোর্ট জেনারেশন করতে সহায়ক হয়। বিশেষত রিপোর্ট তৈরি করতে ডেটা ফাইল সাজানো এবং সেগুলোর উপর ভিত্তি করে প্রক্রিয়াকরণ করার জন্য SORT
ফাইল ব্যবহার করা হয়।
SORT CONTROL FILES দ্বারা আপনি নিম্নলিখিত কাজগুলো করতে পারেন:
SORT file-name
ON ASCENDING KEY key-field
USING input-file
GIVING output-file.
file-name
: এটি সেই ফাইলের নাম যেটি আপনি সাজাতে চান।ON ASCENDING KEY
: এটি নির্দেশ করে যে ডেটা ascending অর্ডারে সাজানো হবে (অথবা DESCENDING KEY
ব্যবহার করলে ডেটা descending অর্ডারে সাজানো হবে)।key-field
: এটি সেই ফিল্ড বা ডেটার ক্ষেত্র যা আপনি ব্যবহার করে সাজাতে চান।USING input-file
: এটি নির্দেশ করে যে কোন ইনপুট ফাইল থেকে ডেটা আসবে।GIVING output-file
: এটি নির্দেশ করে যে সাজানো ডেটা কোন ফাইলে যাবে।01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
01 SORTED-CUSTOMER.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
SELECT SORTED-FILE ASSIGN TO 'SORTED.DAT'.
SELECT INPUT-FILE ASSIGN TO 'CUSTOMERS.DAT'.
PROCEDURE DIVISION.
OPEN INPUT INPUT-FILE
OPEN OUTPUT SORTED-FILE
SORT SORTED-CUSTOMER
ON ASCENDING KEY CUSTOMER-AGE
USING INPUT-FILE
GIVING SORTED-FILE.
CLOSE INPUT-FILE
CLOSE SORTED-FILE.
STOP RUN.
ব্যাখ্যা:
INPUT-FILE
একটি ইনপুট ফাইল যা CUSTOMERS.DAT
নামের ডেটা ফাইল থেকে গ্রাহকের তথ্য ধারণ করছে।SORTED-FILE
হলো একটি আউটপুট ফাইল যেখানে সাজানো গ্রাহকদের তথ্য থাকবে।ON ASCENDING KEY CUSTOMER-AGE
নির্দেশনা দিয়ে গ্রাহকদের বয়সের (age) ওপর ভিত্তি করে ডেটা সাজানো হচ্ছে। প্রথমে সবচেয়ে কম বয়সের গ্রাহক থেকে সাজানো হবে।USING
এবং GIVING
ফাইলের মাধ্যমে ইনপুট এবং আউটপুট ফাইলগুলো উল্লেখ করা হয়েছে।এটি একটি সহজ উদাহরণ যেখানে গ্রাহকের বয়সের ওপর ভিত্তি করে ডেটা সাজানো হচ্ছে।
Multiple Sort Keys: একাধিক ফিল্ড বা কনডিশন ব্যবহার করে ডেটা সাজানো।
SORT file-name
ON ASCENDING KEY key1, key2
USING input-file
GIVING output-file.
key1
এবং key2
দ্বারা ডেটা দুটি ফিল্ডের ওপর ভিত্তি করে সাজানো হবে।Handling Duplicate Records: ডুপ্লিকেট রেকর্ডগুলি ম্যানেজ করা।
SORT file-name
ON ASCENDING KEY key-field
USING input-file
GIVING output-file
REMOVE DUPLICATES.
REMOVE DUPLICATES
ব্যবহার করলে ডুপ্লিকেট রেকর্ডগুলি সরানো হবে।Reversing Sort Order: ডেটা উল্টো অর্ডারে সাজানো।
SORT file-name
ON DESCENDING KEY key-field
USING input-file
GIVING output-file.
DESCENDING
ব্যবহার করলে ডেটা উল্টো অর্ডারে (descending order) সাজানো হবে।COBOL-এ SORT
অপারেশন মূলত নতুন সাজানো ডেটা আউটপুট করার জন্য ব্যবহৃত হলেও, আপনি REWRITE
ব্যবহার করে ডেটা আপডেটও করতে পারেন।
SORT file-name
ON ASCENDING KEY key-field
USING input-file
GIVING output-file.
REWRITE record-name.
ব্যাখ্যা:
REWRITE
স্টেটমেন্টটি দিয়ে নতুন সাজানো রেকর্ডগুলিকে আপডেট করা হচ্ছে।COBOL-এ রিপোর্ট তৈরি করতে SORT
স্টেটমেন্টটি খুবই কার্যকরী। বিভিন্ন ধরনের ডেটা সাজানো এবং তারপর সেগুলিকে ফরম্যাটে আউটপুট দেওয়া সম্ভব হয়। উদাহরণস্বরূপ, ব্যবসায়িক রিপোর্ট, পেমেন্ট রিপোর্ট, স্টক রিপোর্ট ইত্যাদি তৈরি করতে SORT
স্টেটমেন্ট ব্যবহার করা যেতে পারে।
অপারেশন | বর্ণনা |
---|---|
SORT | একটি ফাইলের রেকর্ড সাজাতে ব্যবহৃত হয়, সাধারণত ইনপুট ফাইলের উপর ভিত্তি করে। |
ON ASCENDING KEY | নির্দিষ্ট কী এর উপর ভিত্তি করে ডেটা সাজানো (ascending বা descending order)। |
USING | ইনপুট ফাইল ব্যবহার করা হয়, যা ডেটা আসবে। |
GIVING | সাজানো ডেটা আউটপুট ফাইলে দেওয়া হয়। |
REMOVE DUPLICATES | ডুপ্লিকেট রেকর্ড সরানোর জন্য ব্যবহৃত। |
SORT CONTROL FILES
এর মাধ্যমে COBOL-এ ডেটা সাজানো এবং রিপোর্ট প্রক্রিয়া করা অত্যন্ত সহজ এবং কার্যকর। এটি ফাইলের ডেটা সাজানোর জন্য শক্তিশালী এবং দ্রুত উপায় প্রদান করে।
COBOL (Common Business-Oriented Language) ভাষাটি মূলত ব্যবসায়িক এবং প্রশাসনিক অ্যাপ্লিকেশনগুলির জন্য ডিজাইন করা হয়েছিল এবং এতে রিপোর্ট জেনারেশন একটি গুরুত্বপূর্ণ ফিচার হিসেবে ব্যবহৃত হয়। COBOL-এ নিয়মিত রিপোর্ট জেনারেশন কার্যক্রমে ডেটার সঠিক বিশ্লেষণ এবং প্রদর্শনের জন্য বিভিন্ন ফাইলের মধ্যে তথ্য সংগ্রহ, প্রক্রিয়া এবং সাজানো হয়।
COBOL এ রিপোর্ট তৈরির প্রক্রিয়া সাধারণত প্রসেসিং (প্রোডাকশন রিপোর্ট, পে-রোল রিপোর্ট, বিক্রয় রিপোর্ট ইত্যাদি) এবং ফর্ম্যাটিং (কিভাবে তথ্য প্রদর্শন করা হবে) এর মধ্যে ভাগ করা হয়।
COBOL প্রোগ্রামে রিপোর্ট তৈরি করার জন্য প্রথমেই FILE SECTION এ রিপোর্ট ফাইলের গঠন বা ডেটা স্ট্রাকচার ডিফাইন করতে হয়। এর মধ্যে রিপোর্টের জন্য বিভিন্ন ডেটা এবং কলামের বিন্যাস থাকে।
FILE-CONTROL.
SELECT REPORT-FILE ASSIGN TO 'REPORT.TXT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD REPORT-FILE.
01 REPORT-REC.
05 REPORT-NAME PIC X(30).
05 REPORT-AGE PIC 99.
05 REPORT-SALARY PIC 9(5)V99.
এখানে, REPORT-FILE নামে একটি ফাইল তৈরি করা হয়েছে যেখানে রিপোর্টের ডেটা থাকবে। ফাইলের মধ্যে REPORT-NAME, REPORT-AGE, এবং REPORT-SALARY এর মতো কলাম ডিফাইন করা হয়েছে।
COBOL-এ WRITE স্টেটমেন্ট ব্যবহার করে ফাইলে ডেটা লিখতে হয়, আর REWRITE স্টেটমেন্ট ব্যবহৃত হয় পূর্বে লেখা রেকর্ডকে আপডেট করতে। সাধারণত রিপোর্ট তৈরির ক্ষেত্রে WRITE স্টেটমেন্ট ব্যবহার করা হয়।
OPEN OUTPUT REPORT-FILE.
WRITE REPORT-REC FROM EMPLOYEE-REC.
CLOSE REPORT-FILE.
এখানে, EMPLOYEE-REC থেকে ডেটা REPORT-REC এ লিখে REPORT-FILE এ সেভ করা হচ্ছে।
OPEN I/O REPORT-FILE.
READ REPORT-FILE INTO REPORT-REC
INVALID KEY
DISPLAY 'No record found.'
NOT INVALID KEY
MOVE 'Updated Name' TO REPORT-NAME
REWRITE REPORT-REC
END-READ.
CLOSE REPORT-FILE.
এখানে, REPORT-FILE থেকে রেকর্ড পড়ে সেটি REWRITE করা হচ্ছে।
COBOL-এ রিপোর্ট তৈরির সময় প্রায়ই পরিসংখ্যান যেমন মোট বিক্রয়, গড় বেতন ইত্যাদি গণনা করা হয়। এই গণনা করতে SUM, AVERAGE, COUNT ইত্যাদি ফাংশন ব্যবহার করা হয়।
01 TOTAL-SALARY PIC 9(7)V99 VALUE 0.
01 AVERAGE-SALARY PIC 9(5)V99 VALUE 0.
01 EMPLOYEE-COUNT PIC 9(3) VALUE 0.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > NUM-EMPLOYEES
ADD EMPLOYEE-SALARY TO TOTAL-SALARY
ADD 1 TO EMPLOYEE-COUNT
END-PERFORM.
COMPUTE AVERAGE-SALARY = TOTAL-SALARY / EMPLOYEE-COUNT.
DISPLAY 'Total Salary: ' TOTAL-SALARY
DISPLAY 'Average Salary: ' AVERAGE-SALARY
এখানে, TOTAL-SALARY এবং AVERAGE-SALARY হিসাব করা হচ্ছে সমস্ত কর্মচারীর বেতন থেকে। EMPLOYEE-COUNT ব্যবহার করা হচ্ছে কর্মচারীদের সংখ্যা গননা করতে।
COBOL-এ রিপোর্টে ডেটা ফরম্যাট করার জন্য JUSTIFY, STRING, UNSTRING ইত্যাদি ফাংশন ব্যবহৃত হয়। রিপোর্টের আউটপুটকে সুন্দরভাবে প্রদর্শন করতে PICTURE ক্লজ ব্যবহৃত হয়।
01 FULL-NAME PIC X(50).
01 FIRST-NAME PIC X(25).
01 LAST-NAME PIC X(25).
MOVE 'John' TO FIRST-NAME.
MOVE 'Doe' TO LAST-NAME.
STRING FIRST-NAME DELIMITED BY SPACE
LAST-NAME DELIMITED BY SPACE
INTO FULL-NAME.
DISPLAY FULL-NAME.
এখানে, STRING স্টেটমেন্ট ব্যবহার করে FIRST-NAME এবং LAST-NAME একত্রে যোগ করা হয়েছে FULL-NAME এ। JUSTIFY ফাংশন ব্যবহার করলে ডেটা সঠিকভাবে সজ্জিত হয়।
প্রায়ই COBOL প্রোগ্রামে রিপোর্টের নকশা এবং আউটপুট ফরম্যাটের জন্য HEADER, FOOTER, DETAILS ইত্যাদি অংশ ব্যবহৃত হয়। এটি রিপোর্টের জন্য একটি সুনির্দিষ্ট কাঠামো তৈরি করে, যেখানে প্রতি পৃষ্ঠার শিরোনাম, শেষের তথ্য এবং ডেটার সারণি থাকে।
OPEN OUTPUT REPORT-FILE.
WRITE HEADER-REC.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > NUM-EMPLOYEES
WRITE DETAIL-REC FROM EMPLOYEE-REC
END-PERFORM.
WRITE FOOTER-REC.
CLOSE REPORT-FILE.
এখানে, HEADER-REC এবং FOOTER-REC ব্যবহার করা হয়েছে রিপোর্টের শুরু এবং শেষের জন্য।
COBOL প্রোগ্রামে নিয়মিত রিপোর্ট জেনারেশন একটি গুরুত্বপূর্ণ কাজ যা ডেটা সংগৃহীত এবং বিশ্লেষণ করা সহজ করে। রিপোর্ট তৈরির জন্য FILE SECTION এ ফাইল ডিফিনিশন, WRITE এবং REWRITE স্টেটমেন্ট ব্যবহার করে ডেটা ফাইলে লেখা হয় এবং SUM, AVERAGE ইত্যাদি ব্যবহার করে গণনা করা হয়। এছাড়াও, STRING, JUSTIFY ইত্যাদি ফাংশন ব্যবহার করে ডেটা ফরম্যাট করা হয় এবং HEADER, FOOTER ইত্যাদি দিয়ে রিপোর্টের কাঠামো তৈরি করা হয়। COBOL এ রিপোর্ট জেনারেশন অনেক ব্যাপকভাবে ব্যবহৃত হয় ব্যবসায়িক প্রক্রিয়াগুলিতে, যেমন পে-রোল রিপোর্ট, ফাইনান্সিয়াল রিপোর্ট, ইত্যাদি।
COBOL (Common Business-Oriented Language) একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা মূলত ব্যবসায়িক অ্যাপ্লিকেশন, ডেটাবেস ম্যানেজমেন্ট এবং রিপোর্ট জেনারেশনের জন্য ব্যবহৃত হয়। COBOL-এ কাস্টমাইজড রিপোর্ট তৈরি করা খুবই সাধারণ এবং গুরুত্বপূর্ণ কাজ, বিশেষত যখন বিভিন্ন আউটপুট ফরম্যাটে রিপোর্ট তৈরি করার প্রয়োজন হয়। এটি ব্যবসায়িক সিদ্ধান্ত গ্রহণ, হিসাবনিকাশ এবং গ্রাহক সম্পর্ক ব্যবস্থাপনার জন্য অপরিহার্য।
কাস্টমাইজড রিপোর্ট তৈরি করার জন্য COBOL ব্যবহারকারীরা সাধারণত WRITE
, DISPLAY
, REPORT
, এবং ACCEPT
স্টেটমেন্ট ব্যবহার করে। নিচে COBOL-এ রিপোর্ট তৈরি করার পদ্ধতি, কাস্টমাইজড রিপোর্ট তৈরি করার প্রক্রিয়া এবং উদাহরণ দেওয়া হলো।
COBOL এ রিপোর্ট তৈরি করার প্রথম ধাপ হল, রিপোর্টের ধরন এবং আউটপুট ফরম্যাট নির্ধারণ করা। রিপোর্ট সাধারণত দুটি ধরনের হতে পারে:
রিপোর্ট জেনারেশনের জন্য প্রথমে ডেটা এবং টেবিল ডিফাইন করতে হবে। COBOL-এর WORKING-STORAGE
সেকশনে রিপোর্টের জন্য প্রয়োজনীয় ফিল্ডগুলির ডেফিনিশন করতে হয়।
01 REPORT-DATA.
05 NAME PIC X(30).
05 AGE PIC 99.
05 SALARY PIC 9(5)V99.
এখানে, NAME, AGE, এবং SALARY হল কাস্টমাইজড রিপোর্টের জন্য প্রয়োজনীয় ফিল্ড।
COBOL-এ ফাইলের মাধ্যমে রিপোর্ট আউটপুট তৈরি করা হয়। সাধারণত FILE SECTION
এ রিপোর্টের ফাইল ডেফিনিশন করা হয়।
01 REPORT-FILE.
05 FILLER PIC X(80).
এখানে, REPORT-FILE একটি টেক্সট ফাইল যেখানে রিপোর্টটি লেখা হবে।
রিপোর্টের জন্য একটি নির্দিষ্ট আউটপুট ফরম্যাট নির্বাচন করুন (যেমন: প্রতিটি কলাম সঠিক স্থানাঙ্কে প্রদর্শিত হবে)। এটা নির্ধারণ করার জন্য WRITE
বা DISPLAY
স্টেটমেন্ট ব্যবহার করা হয়।
ধরা যাক, আপনি একটি কর্মচারী তালিকা রিপোর্ট তৈরি করতে চান যেখানে কর্মচারীদের নাম, বয়স এবং বেতন প্রদর্শিত হবে। COBOL-এ এটি করার উদাহরণ নিচে দেয়া হল:
IDENTIFICATION DIVISION.
PROGRAM-ID. EmployeeReport.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT report-file ASSIGN TO 'EMPLOYEE.TXT'
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
FILE STATUS IS file-status.
DATA DIVISION.
FILE SECTION.
FD report-file.
01 report-record.
05 filler PIC X(80).
WORKING-STORAGE SECTION.
01 employee-name PIC X(30).
01 employee-age PIC 99.
01 employee-salary PIC 9(5)V99.
01 file-status PIC 99.
PROCEDURE DIVISION.
OPEN OUTPUT report-file.
PERFORM GENERATE-REPORT
CLOSE report-file.
STOP RUN.
GENERATE-REPORT.
MOVE 'John Doe' TO employee-name
MOVE 35 TO employee-age
MOVE 50000.75 TO employee-salary
WRITE report-record FROM 'Employee Report'
WRITE report-record FROM '----------------'
WRITE report-record FROM 'Name: ' employee-name
WRITE report-record FROM 'Age: ' employee-age
WRITE report-record FROM 'Salary: ' employee-salary.
MOVE 'Jane Smith' TO employee-name
MOVE 28 TO employee-age
MOVE 60000.50 TO employee-salary
WRITE report-record FROM 'Employee Report'
WRITE report-record FROM '----------------'
WRITE report-record FROM 'Name: ' employee-name
WRITE report-record FROM 'Age: ' employee-age
WRITE report-record FROM 'Salary: ' employee-salary.
REPORT-FILE
একটি টেক্সট ফাইল যেখানে রিপোর্ট লেখার জন্য ডেটা প্রেরণ করা হবে।WRITE
স্টেটমেন্ট ব্যবহার করে রিপোর্টের প্রতিটি লাইনে ডেটা লেখার জন্য ব্যবহার করা হয়েছে।GENERATE-REPORT
প্যারাগ্রাফে প্রতিটি কর্মচারীর জন্য নাম, বয়স, এবং বেতন প্রদর্শন করা হয়েছে।OPEN
এবং CLOSE
স্টেটমেন্ট ফাইলটি ওপেন এবং ক্লোজ করার জন্য ব্যবহৃত।Employee Report
----------------
Name: John Doe
Age: 35
Salary: 50000.75
Employee Report
----------------
Name: Jane Smith
Age: 28
Salary: 60000.50
কাস্টমাইজড রিপোর্ট তৈরি করতে, আপনি বিভিন্ন ফরম্যাটে আউটপুট তৈরি করতে পারেন। COBOL-এ বিভিন্ন ধরনের কাস্টমাইজড রিপোর্ট তৈরি করতে DISPLAY
, WRITE
, এবং ACCEPT
স্টেটমেন্ট ব্যবহার করা যায়। এছাড়া, আপনি যদি গ্রাফিক্যাল রিপোর্ট তৈরি করতে চান তবে আপনাকে অন্য টুলস ব্যবহার করতে হবে (যেমন: Crystal Reports বা অন্য রিপোর্ট জেনারেশন সফটওয়্যার)।
রিপোর্টটি আরও সুন্দরভাবে প্রদর্শন করার জন্য আপনি টেবিল ফরম্যাটও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, WRITE
স্টেটমেন্টের মাধ্যমে কলাম তৈরি করতে পারেন।
WRITE report-record FROM 'Employee Name Age Salary'
এখানে, রিপোর্টের জন্য কলামগুলো সুস্পষ্টভাবে ফরম্যাট করা হয়েছে, যাতে রিপোর্টটি সুন্দরভাবে প্রদর্শিত হয়।
COBOL-এ কাস্টমাইজড রিপোর্ট তৈরি করা একটি সাধারণ কিন্তু শক্তিশালী প্রক্রিয়া, যা ব্যবসায়িক অ্যাপ্লিকেশন এবং ডেটা বিশ্লেষণে ব্যবহৃত হয়। COBOL এ ডেটা নির্বাচন, ফরম্যাটিং, এবং আউটপুট ফাইল জেনারেশন করতে WRITE
, DISPLAY
, REPORT
, এবং ACCEPT
স্টেটমেন্টগুলি ব্যবহৃত হয়। রিপোর্টের আউটপুট ফরম্যাট, টেবিল স্টাইল, এবং ডেটা প্রদর্শনের জন্য কাস্টমাইজড লজিক প্রয়োগ করা যায়।
common.read_more